Zabbix 自动发现和自动注册
0. 引言
企业规模扩大后,几百上千台主机要一台台手工加入监控系统,既不现实也容易漏配。Zabbix 提供自动发现和自动注册两种机制,让主机从发现、添加、配置到监控全流程自动化。本文讲解这两种模式的原理与配置方法。
1. Zabbix 及其优势
Zabbix 是主流开源企业级监控系统,核心特性:
- 功能丰富:图形化界面、网络拓扑、自定义面板,自带 CMDB 资产管理功能,支持数据聚合分析;
- 高可用:支持 proxy 代理模式,客户端先上报代理节点再统一汇总到 server,降低 server 压力;server 支持 HA 切换;
- 采集模式多样:自带 agent,也支持 SNMP、JMX 等公共协议;支持主动(服务端抓取)与被动(客户端上报)两种模式;可自定义插件(监控脚本、主机模板、主机组模板);
- 开放集成:提供完整 API,方便接入企业 DevOps 或运维管理系统。
2. 两种自动化纳入模式
Zabbix 对海量主机监控信息的管理高度自动化,有两种模式:
| 模式 | 触发方 | 原理 | 适用场景 |
|---|---|---|---|
| 自动发现 | 服务端 | server 发起扫描,探测局域网内的网络设备、服务器、主机并收集信息 | 已知网段、服务端可主动可达 |
| agent 主动注册 | 客户端 | agent 启动后主动上报主机信息,在服务端完成注册 | 主机分散、跨网络,服务端不易主动扫描 |
3. 自动发现配置
3.1 配置发现规则
在 Zabbix 控制台按顺序点击 Configuration → Discovery → Create discovery rule,关键配置项:
- Name:规则名称;
- Discovery by proxy:未使用代理时选 no proxy;
- IP range:定义扫描的主机网段;
- Update interval:扫描周期;
- Checks:监控项检查,如
system.uname获取客户端主机元数据; - Device uniqueness:主机唯一性标识,可选 IP address 或主机元数据。
3.2 配置执行动作
在 Configuration → Actions 新建 Discovery 类型 action,包含三部分:
- Conditions(条件):定义匹配条件,如主机 IP 范围,多个条件通过 Type of calculation 设置 and/or 关系;
- Operations(操作):定义满足条件后执行的动作,核心三类:
- Add host:将发现的主机加入主机列表;
- Add to host groups:加入主机组(如默认的 Linux servers);
- Link to templates:关联监控模板(如 Template OS Linux by zabbix agent),此后就能按模板采集数据并画图。
3.3 客户端配合
确认 zabbix_agentd.conf 中关键配置:
bash
Server=172.21.64.12 # zabbix server 的 IP
ServerActive=172.21.64.12 # 主动上报 zabbix server 的 IP
HostMetadataItem=system.uname # 通过 system.uname 动态获取主机元数据重启 agent 后等待扫描周期,在控制台 Monitoring → Discovery 列表或主机列表中即可看到自动添加的新主机。
4. agent 主动上报配置
主动上报模式同样需要配置两大块:
- 服务端:Configuration → Actions 新建 auto registration 规则,条件设为
Host metadata contains linux(主机元数据包含 Linux),Operations 与自动发现模式相同(Add host、Add to host groups、Link to templates); - 客户端:
zabbix_agentd.conf中配置ServerActive指向服务端,并设置HostMetadataItem提供元数据。
agent 启动后主动上报,服务端按规则自动完成主机添加、分组和模板关联。
5. 小结
自动发现适合服务端可控网段内扫描纳管;agent 主动注册适合跨网络、分散部署的主机。两者都只需"规则 + 动作 + 模板"三步配置,配合好后主机录入和监控管理从手工操作变成全自动化。结合 46 章讲到的告警分级,Zabbix 的自动纳入能力是海量主机监控体系建设的第一公里。
下一章介绍 Prometheus 与 Grafana 容器监控方案,对比 Zabbix 看云原生时代的监控选型。